UNIX MAGAZINE 1990年12月号

キーフレーズ

UNIX MAGAZINE コマンド ファイル システム プログラム Sun ネットワーク 000 Auspex test ftp SPARC Ethernet 1990 機能 文字列 クライアント 実行 テスト ワークステーション インターフェイス サポート 出力 使用 場合 CPU SPARCstation ウインドウ MHz 環境 ソフトウェア アプリケーション データ SCSI 標準 シリーズ 指定 できる シェル anonymous 必要 minipage Subject サーバー 開発 Bourne 可能 ツール () echo ディスク usr desclength 登録商標 Wave 処理 対応 while リポジトリ then 表示 利用 リアルタイム 日本語 Tel else Message file CVSROOT Lynx MIPS ディレクトリ 営業所 NEWS プロセス SunOS CVS オプション マニュアル SoftBench SLC sendmail ソフトウェア開発 変更 Mips bin ユーザー cat NFS ソース FAX 設定 日本 管理 station ワークスペース 接続

目次

第 e $ & 0 ee 0 ce X-Y 作図 x-y 作図のルーチンは簡単に使用できる。標準の設定 は、表示を作成するためのよい出発点となる。作図能力 としては以下のものがある。直線軸と対数軸、各点を異 なるシンポル ( ユーサー定義のシンポルを含む ) でマー クする機能、タイプの異なる線で点を結ぶ、ヒストグラ ムと棒グラフ、曲線間の塗りつぶし。評者はとくに軸の 限界の丸めが気に入った ( ちなみに、この機能は制限する こともできる ) 。これは、ほかの作図パッケージにときお りみられる奇妙な軸の制限を回避している。しかし、丸 めすぎる場合もあるので、ときには制限も必要だろう。 タイトルと軸のラベル ( 軸の値も含む ) は引数として も渡せるし、グローバル変数でも設定できる。文字列作 図ルーチンを使って、図にテキストを追加することがで きる。また、すべてのテキスト表示を望みのサイズに変 史できるので、特定のサイズを容易に作ることができる。 テキスト表示とほかの機能のために、座標の単位を選 択できるのはとても便利である。これらの単位は、作図 のデータ単位、ピクセル座標、あるいは正規化された座 標である。単位間の変換をおこなう情報は、グローバル 変数を介して受け渡される。この機能を使えば、図のな かにテキストを位置づけるのが容易になる。 純枠な枷巫標系による作図 (polar plot) はできない。 極座標系の作図は、根軸 (radical axes) と回転軸 (cir- cular axes) の代わりに直交軸 (orthogonal axes) を使 用する。もう 1 つ不満な点は、ポイント・シンポルをテ キスト作図ルーチンで使えないことと説明文を簡単に表 示できないことだ。 2 次元配列の作図 2 次兀の作図関数としては、 contour 、 surface 、 shad- ed-surface 関数がある。複数の光源を異なる角度から あて、シェイディングによって作図した面はとても美し こでも、標準の設定がよい出発点になるだろう。 しかし、すべてのパラメータはルーチンを呼び出すとき に一勺に設定できるし、グローバル変数を使うと永続 的に設定できる。図のすべての側面 ( 面の作図の回転角度 UNIX MAGAZINE 1990.12 や図の曲線のラベリングなど ) はこの去で設定できる。 変史にあたって、図中の面線の数はパラメータに指定 できない。ューサーのデータに含まれている点の数が多 すぎる場合、面線カ鯤ざってしまい、面の作図に役に立 たなくなる。面線の数を設定するためのパラメータがあ れは便利であろう。 画像表示 画像表示ルーチンは、ピクセル画像を表示するために 使用される。これは、整数と浮動小数点数のデータを自 動的に利用可能な表示範囲に転換するものだ。このマッ ピングの尺度を変更して、コントラストを強調するため のルーチンが存在する。これらの機能および異なる画像 里関数の使用法は、画像処理ガイドに説明されている。 このルーチンは、 PV ~ Wave のなかではもっとも信頼 性が低いようだ。何回か、このルーチンのある部分が正 しく動作しなかったことがある。ヒストグラム・ルーチ ンは整数ではうまく動作せす、 convolution ルーチンは バイトサイズのデータの扱いに問題があった。しかし、 仕事の種類によっては、これらのルーチンはユーザーの 必要とするすべての機能を提供している。もう 1 つの画 像表示ルーチン movie は、 PV-Wave とそれが実行さ れているウインドウを完全にクラッシュさせる。 画像処理ルーチンの大きな欠点は、画像のサイズを直 接再設定できないことだ。画像は rebin や congrid のル ーチンによって、個別に尺度の変更がなされなければな らない。ルーチン rebin は、配列を指定された新しい次 元に再設定する。これには、新しい次元の大きさがもと の次元の整数の倍数、または因数でなければならないと いう制限がある。たとえば、この関数を使って 100 の次 元を 150 にすることはできない。もっと柔軟なサイズの 再設定には、ユーザー・ライプラリ関数の congrid を使 う。この関数は、オプションでリサンプリングのために ヾイリニアのインターポレーションをおこなう。これに より満足のいく結果が得られる。 画像処理においては、前述のように他言語で書かれた ルーチンへのよいインターフェイスがないことが大きな 欠点である。画像処理は、ユーザーカ嘯いた手続きを含 む場合が多いからだ。残念ながら、ユーサーは PV- 39

news&notice 0 ce 機能 PV-Wave は、対話式でもバッチ・モードでも使用で きるデータ表示システムである。ューサーはプログラム、 手続きおよび PV ~ Wave のプログラミング言語の関数 を書くと、標準の機能を拡張できる。これらのプログラ ムは対話式でも、バッチ・ジョブからでも呼び出せる。 この環境には多くの機能があり、データや画像の表示に さまざまな処理を簡単に施せる。 PV-Wave は、ほとん どの科学技術データの分析と表示に必要とする機能をす べて提供している。 PV-Wave の大部分の表示機能は、関数呼出し時の 引数とキーワード、およびグローバルなシステム変数に よって制御される。軸の長さやウインドウ・サイズなど の自動的に調整される変数はグローバル変数に返される ので、以降の関数呼出しに使用できる。これらのグロー バル変数は、作図機能の調整に役立つ。しかし、これを 対話式に設定するのはかなり骨の折れる作業だった。表 示パラメータを調整するためのメニュー式ユーティリテ ィを使えば、これらの調整がもっと容易になる。 配布テープには標準の PV-Wave コマンドのほかに 大量のユーサー・ライプラリが含まれており、このなか にはユーザーによって書かれたルーチンも含まれている。 これらはユーザーによって書かれたものであるだけに PV ~ Wave システムによっては完全にサポートされて いない。しかし、機能セットに対するこの拡張はパッケ ージのユーティリティには重要である。このなかにある 多くの手続きによって、パッケージが使いやすくなる。 このユーザー・ライプラリには、 PV-Wave の正規のコ マンドと同様に自動的にアクセスできる。 プログラミング言語 PV-Wave のプログラミングは Fortran, BASIC 、 PascaI を混在させたようなもので、 C も多少 混ざっている。これは、対話処理にも、手続きとバッチ・ ジョブのプログラミングにも使用される。学習は比中知勺 容易である。 残念なのは、一貫性を考えることなく各言語の構文の 38 特徴をそのまま採り入れた点だ。たとえば、配列のイン デックスは C と同様に 0 から始まるが、多次兀配列にお いては Fortran と同しく最初のインデックスがます変 化するようになっている。関数と手続きは関数の名前に よって呼び出され、その後にカンマと引数リストカく。 これには多少の慣れを必要とするだろう。最初のカンマ を忘れやすいからだ。 この言語は、プログラミングに必要なはとんどの論理 的構成要素と数学関数を提供している。唯一欠けている 論理的構成要素は、簡単に使える ELSE-IF である。単 純な ELSE ー IF を作るために必要な ELSE 、 IF 、 THEN 、 BEGIN 、 ENDIF の入れ子は美しくない。手 続きと関数は最初に呼び出されたときに自動的にコンパ イルされ、メモリに保存される。これはよい機能であ り、タイプの量と管理作業をかなり軽減できる。 この言語のもっとも優れた機能は、配列演算をサポー トしていることだ。すべての数学関数でスカラ変数と配 列変数を扱える。配列変数を使用した場合には、同し演 算が配列本に対しておこなわれる。 この言語の大きな欠点は、ほかの言語から PV-Wave の関数を呼び出すためのサポートがなく、その逆もない ことである。他言語で書かれた手続きにアクセスできる 唯一の手段は、サププロセスを生成して、その標準入出 力を通して通信することである。これは醜い方法だし、 だいいち変数の受け渡しができない。 C および Fortran からの PV-Wave 手続きの呼出 しは、さらに貧弱である。 こでも唯一の手段は、呼出 し文字列をサプルーチンに渡して PV-Wave プログラ ムのプロセスを生成することである。やはり、変数を渡 すことはできない。このため、ユーサーが書いた関数を 必要とする状況では PV-Wave の使用は難しい。とい うのは、これらの関数を完全かっ容易に使用するには、 PV ~ Wave の言語を使って書き直さなければならない からである。 ほかに苛々させられるのは、配列要素をファイルから 読み取れないことだ。配列全体や単純な変数は読み取れ るが、個々の配列要素を読み取れないのだ。このため、 一時変数を使う使わないの判断が必要になる。これは、 ューサーが「いったいぜんたい、なぜこうなっているん だ ? 」と苛立つ一因になる。 UNIX MAGAZINE 1990.12

新 e $ & 0 ce 0 0 ・ の RAM 、 280MB HDD を備えた Sun4 / 110 上でおこ なった。 インストール PV-Wave のインストール・キットはテープとインス トール・マニュアルからなり、インストール手続きは分 かりやすく正確である。指示どおりにすれば、インスト ール作業は支障なく完了する。しかし、些細なことだが 1 つだけ気に入らない点があった。 インストール中に、オプションとしてデモンストレー ション・ファイルをインストールすることができる。だ が、そのために約 12MB のディスク容量が必要なことは 指示するまで分からないのである。このようなことは、 インストールの前に知らせるべきである。とはいっても、 中断する機会はあるので PV-Wave のインストールに 関する面は A である。 ドキュメント PV ~ Wave のドキュメントは、やメイン・マニュアル〃 ヾデモンストレーション・ガイド〃、、画像処理マニュアル〃 、、クイック・リファレンス〃 ( すべての関数と手続きに関 するガイド ) 、、概略〃に分かれている。、、概略〃では、例 を挙げて PV ~ Wave のほとんどの機能を紹介している。 残念ながら評者が受け取った、慨略〃は VAX 用で、 Sun 用のソフトウェアのものではなかった。このため、 いくっかの関数名が Sun のものとは異なっており、パッ ケージの使用時にはいくぶん戸惑った。 メイン・マニュアルには多くの例が挙げられていて分 かりやすいが、 PV-Wave の能力がすべてみわたせる大 規模な例がいくつかあればもっとよかっただろう。 このマニュアルの目次構成は、どうみても分かりづら い。 PV ~ Wave の言語の説明は 2 ~ 6 、 8 章にあり、 の言語によるプログラミングの説明は 7 、 9 、 13 、 15 、 16 、 18 章にある。また、画像表示と作図機能の情報は 10 、 11 、 14 章にあり、 PV-Wave のフォントの説明は 12 章にある。もっと論理的な構成にすれば、理解しやすく なっていたはすだ。 このマニュアルでもう 1 つ気になったのは、付録のユ UNIX MAGAZINE 1990.12 ーサー・ライプラリについての説明が簡単すぎることだ。 しかし、これはある程度の常識をもっていれは十分な情 報が得られるので、さほど気にかけることではない。 デモンストレーション・ガイドは、配布テープにある PV-Wave 用デモンストレーションの起動方法を説明 している。各デモンストレーションが PV ~ Wave のど の部分を使っているかの簡単な説明もあるが、デモ・プ ログラムを動かすだけでは初心者がシステムに馴染む手 助けにはならない。デモ・ファイルにある美しい絵は、 PV-Wave の優れた能力を表しているが、これはユーザ ーよりも PV ~ Wave の販売員に役立つものだ。デモ・プ ログラムはソフトウェアの機能を必要以上に利用してい るため、結果的に複雑になり、初心者の理解を妨 げているかもしれない。しかし、ある程度の経験があれば、 このプログラムからシステムの情報が得られるだろう。 画像処理マニュアルには、画像の処理と表示をおこな う手続きとアルゴリズムの概略が言己されている。簡略 化されているが、これは画像の処理 / 表示手続きがかなり 複雑で、入門マニュアルだけではカバーしきれないから である。それでも、このガイドは入門編としてはよい出 来栄えである。 PV-Wave の、、クイックリファレンス・ガイドはた いへん便利である。このガイドでは、見出しの下にすべ ての手続きと関数がまとめられているし、関数のリスト が異なる見出しの下に何回も繰り返し表示されている。 、、オンライン・ヘルプ〃の使い方は、ややわかりにく い。 PV-Wave のヘルプ・コマンドは、 PV-Wave の 環境に関するステータス情報を返すので、このコマンド 名は、、 help 〃ではなく、、 status" のほうがよい。 PV-Wave の各機能の使い方のオンライン情報は、響〃をタイプす ると呼び出せるようになっている。 PV-Wave のヘルプでは、ヘルフ艘能から抜け出さす に複数のコマンドを調べることができる。これは、ひど く時間がかかることを気にしなけれは便利な機能である。 PV ~ Wave の関数を引数なしで呼び出したときに表示 されるエラーメッセージ incorrect number of argu- ment ( 引数の数が正しくない ) 〃は、たしかに正しいかも しれないカ彳殳には立たない。このようなメッセージの代 わりに、その関数の使用法と引数を表示したほうがユー サーにはもっと役立つだろう。 37